/*
* 605. 种花问题
* 假设有一个很长的花坛，一部分地块种植了花，另一部分却没有。可是，花不能种植在相邻的地块上，它们会争夺水源，两者都会死去。
*
* 给你一个整数数组 flowerbed 表示花坛，由若干 0 和 1 组成，其中 0 表示没种植花，1 表示种植了花。另有一个数 n，能否在不打破种植规则的情况下种入 n 朵花？能则返回 true ，不能则返回 false。
*
* */

export const canPlaceFlowers = (flowerbed, n) => {
	let max = 0

	const arr = flowerbed.join('').split('1')
	const len = arr.length

	// 传入数组全为0
	if (len === 1) {
	  let m = Math.floor((arr[0].length + 1) / 2)
		max = max + m
		return max >= n
	}

	arr.forEach((item, index) => {
		// 数组分割后首尾项单独处理
		if (index === 0 || index === len - 1) {
			let m = Math.floor(item.length / 2)

			max = max + m
		  return
		}

		let m = Math.floor((item.length - 1) / 2)
		max = max + m
	})

	return max >= n
};
